package com.shycloud.mido.member.api.vo;

import java.io.Serializable;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class AtvMainActiveReqVO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8081285694462678508L;
	@ApiModelProperty(value = "主键")
	private String id;
	/**
	 * 用户ID
	 */
	@ApiModelProperty(value = "用户ID")
	@NotBlank(message = "登录用户ID不能为空")
	private String memberId;

	@ApiModelProperty(value = "1-简单日期类，2-其他类")
	private String playType;

	@ApiModelProperty(value = "活动玩法ID")
	@NotBlank(message = "活动类型必须填写")
	private String playId;

	@ApiModelProperty(value = "主题")
	@NotBlank(message = "活动主题必须填写")
	private String title;

	/**
	 * 活动报名开始时间
	 */
	@ApiModelProperty(value = "活动报名开始时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern= "yyyy-MM-dd")
	@NotNull(message = "活动开始日期必须填写")
	private Date signupBeginDatetime;

	/**
	 * 主办单位
	 */
	@TableField(value = "org_name")
	@ApiModelProperty(value = "主办单位")
	@NotBlank(message = "主办单位必须填写")
	private String orgName;

	/**
	 * 海报ID OSS
	 */
	@TableField(value = "poster_id")
	@ApiModelProperty(value = "海报ID OSS")
	private String posterId;

	/**
	 * 海报地址
	 */
	@TableField(value = "poster_url")
	@ApiModelProperty(value = "海报地址")
	@NotBlank(message = "主海报地址必须填写")
	private String posterUrl;

	/**
	 * 特殊复杂活动详情URL
	 */
	@TableField(value = "detail_url")
	@ApiModelProperty(value = "特殊复杂活动详情URL")
	private String detailUrl;

	/**
	 * 0小程序1APP
	 */
	@TableField(value = "`source`")
	@ApiModelProperty(value = "0小程序1APP")
	private String source;

	/**
	 * open_id
	 */
	@TableField(value = "open_id")
	@ApiModelProperty(value = "open_id")
	private String openId;

	/**
	 * 备注
	 */
	@TableField(value = "remark")
	@ApiModelProperty(value = "备注")
	private String remark;

	/** 省份 */
	@ApiModelProperty(value = "省份")
	private String province;
	
	/** 城市 */
	@ApiModelProperty(value = "城市")
	private String city;
	
	/** 区 */
	@ApiModelProperty(value = "区")
	private String area;
	
	/** 详细地址 */
	@ApiModelProperty(value = "详细地址")
	private String address;

}
